// 在 项目的`main.js`中挂载方法为Vue的属性方法
// 	import pageTools from './utl/page-tools.js'; //page-tools.js 所在文件目录
// 	Vue.use(pageTools);

/**
 * 路径跳转
 */
var loadPage = false;
const uniNavigateTo = function(url) {
	try {
		if (loadPage) {
			return;
		}
		loadPage = true;
		url = typeof url == "string" ? url : url.url;
		uni.navigateTo({
			url: url,
			complete() {
				uni.hideLoading();
				loadPage = false;
			}
		})
		setTimeout(() => {
			loadPage = false;
		},1500);
	} catch (e) {
		//TODO handle the exception
		loadPage = false;
	}
}
/**
 * toast
 * @param {Object} msg
 */
const toast = function(msg) {
	uni.showToast({
		icon: 'none',
		title: msg
	})
}
// 返回
const navigateBack = function(delta = 1) {
	uni.navigateBack({
		default: delta
	  });
}
// 加载种
const showLoading = function(msg = '加载中') {
	uni.showLoading({
		title:msg,
		icon:'none'
	})
}


// 这里我们定义了一个叫"install"的变量，它的内容是一个方法(函数)
// 它的第一个参数是Vue对象(上面有提到传进来的第一个参数就是Vue)，我们把$u挂载到了Vue.prototype中
const install = (Vue) => {
	Vue.prototype.$router = uniNavigateTo;
	Vue.prototype.$msg = toast;
	Vue.prototype.$goBack = navigateBack;
	Vue.prototype.$load = showLoading;
}

// 这里我们导出一个对象，内部有一个叫"install"的方法，给上面说的Vue.use调用
export default {
	install
}
